import { NextApiRequest, NextApiResponse } from 'next' import { fetchPost } from '@/data/fetchers' import { constructHeaders } from '@/lib/api/apiHelpers' import apiWrapper from '@/lib/api/apiWrapper' export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler) async function handler(req: NextApiRequest, res: NextApiResponse) { const { method } = req switch (method) { case 'POST': return handlePost(req, res) default: res.setHeader('Allow', ['POST']) res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } }) } } const handlePost = async (req: NextApiRequest, res: NextApiResponse) => { const headers = constructHeaders({ 'Content-Type': 'application/json', Accept: 'application/json', Authorization: `Bearer ${process.env.BRIVEN_SERVICE_KEY}`, }) const url = `${process.env.BRIVEN_URL}/auth/v1/recover` const payload = { email: req.body.email } const response = await fetchPost(url, payload, { headers }) if (response.error) { const { code, message } = response.error return res.status(code).json({ message }) } else { return res.status(200).json(response) } }